/*
 * @Description: 缺失的第一个正数
 * @FilePath: \网易云音乐e:\CSS+HTML+JS+\学习笔记\代码测试\算法\字符串\41.缺失的第一个正数.js
 */ 
/*
 * @lc app=leetcode.cn id=41 lang=javascript
 *
 * [41] 缺失的第一个正数
 */

// @lc code=start
/**
 * @param {number[]} nums
 * @return {number}
 */
var firstMissingPositive = function(nums) {
    let len = nums.length;
    if(len < 1) return 1;
    
    // 去除干扰的成员
    for(let i = 0; i < len; i++) {
        if(nums[i] <= 0) {
            nums.splice(i, 1);
            i--;
        }
    }

    // 冒泡排序
    for(let i = 0; i < len; i++) {
        for(let j = len-1; j > 0; j--) {
            let temp;
            if(nums[j] <= nums[j-1]) {
                temp = nums[j-1];
                nums[j-1] = nums[j];
                nums[j] = temp;
            }
        }
        if(nums[0] != 1) return 1;
        if(i != 0) {
            if(nums[i] - nums[i-1] != 1 && nums[i] != nums[i-1]) {
                console.log(nums);
                return ++nums[i-1];
            }
        }
    }
    console.log(nums);
    if(nums[0] != 1) return 1;
    
    return ++nums[nums.length-1];
};
let res = firstMissingPositive([0,2,2,1,1]);
console.log(res);
// @lc code=end

